package com.zmn.plat.persistence.interfaces.part;

import com.zmn.plat.model.entity.part.PartSkuPrice;
import com.zmn.plat.model.entity.part.PartSkuPriceQuery;

import java.util.List;

/**
 * 类描述： PartSkuPricePriceDAO
 *
 * @author DaiZhichao
 * @since 2018/10/23 16:15
 */
public interface PartSkuPriceDAO {

    /**
     * 描述: 根据 id 查询单条数据
     *
     * @param skuId Integer
     * @return PartSkuPrice
     * @author DaiZhichao
     * @since 2018/12/13 14:13
     */
    PartSkuPrice findByKey(Integer skuId);

    /**
     * 描述: 根据 query 查询多条数据并分页
     *
     * @param query PartCategory
     * @return List<PartSkuPrice>
     * @author DaiZhichao
     * @since 2018/12/13 14:13
     */
    List<PartSkuPrice> listPageByQuery(PartSkuPriceQuery query);

    /**
     * 描述: 根据 query 查询多条数据并分页
     *
     * @param query PartCategory
     * @return List<PartSkuPrice>
     * @author DaiZhichao
     * @since 2018/12/13 14:13
     */
    List<PartSkuPrice> listByQuery(PartSkuPriceQuery query);

    /**
     * 描述: 根据 query 查询总条数
     *
     * @param query PartCategory
     * @return List<PartSkuPrice>
     * @author DaiZhichao
     * @since 2018/12/13 14:13
     */
    Integer countByQuery(PartSkuPriceQuery query);

    /**
     * 描述: 查询最大值
     *
     * @return Integer
     * @author DaiZhichao
     * @since 2018/12/13 14:13
     */
    Integer countByMax();

    /**
     * 描述: 根据 ID 修改单条数据
     *
     * @param entity PartCategory
     * @return Integer
     * @author DaiZhichao
     * @since 2018/12/13 14:13
     */
    Integer updateByKey(PartSkuPrice entity);

    /**
     * 描述: 新增单条数据
     *
     * @param entity PartCategory
     * @return Integer
     * @author DaiZhichao
     * @since 2018/12/13 14:13
     */
    Integer insert(PartSkuPrice entity);

    /**
     * 描述: 删除单条数据
     *
     * @param skuId Integer
     * @return Integer
     * @author DaiZhichao
     * @since 2018/12/13 14:13
     */
    Integer deleteByKey(Integer skuId);

}
